#isinstance()
isinstance(3, int) 
isinstance('hello!', str)
isinstance(4.567, bytes)


#Checking the inheritance graph
sl = SortedList()
isinstance(sl, SortedList)
isinstance(sl, SimpleList)


#Checking multiple types at once
x = []
isinstance(x, (float, dict, list))


#Implementing IntList
from int_list import IntList
il = IntList([1, 2, 3 ,4])
il.add(19)
il

il.add('5')
 

#issubclass()
issubclass(IntList, SimpleList)
issubclass(SortedList, SimpleList)
issubclass(SortedList, IntList)


#Checking the inheritance graph
class MyInt(int): pass

class MyVerySpecialInt(MyInt): pass

issubclass(MyVerySpecialInt, int)